Bài 3: Numbers, BigInt và Number Methods trong JavaScript

Numbers

Trong JavaScript, tất cả các số đều thuộc kiểu dữ liệu Number. Số có thể là số nguyên, số thực, số dương, số âm, hoặc các giá trị đặc biệt như Infinity, -Infinity, NaN (Not a Number).

// Số nguyên
var num1 = 10;
// Số thực
var num2 = 3.14;
// Số âm
var num3 = -5;
// Số đặc biệt
var inf = Infinity;
var ninf = -Infinity;
var nanValue = NaN;
console.log(num1, num2, num3, inf, ninf, nanValue);

BigInt

BigInt là kiểu dữ liệu cho phép lưu trữ các số nguyên rất lớn vượt quá giới hạn của Number.

// Số nguyên lớn
var bigIntNum = 1234567890123456789012345678901234567890n;
console.log(bigIntNum);

Number Methods

Một số phương thức phổ biến của Number:

var num = 123.456;
// toString(): Chuyển số thành chuỗi, dùng khi cần nối số với chuỗi hoặc xuất ra giao diện
console.log(num.toString());      // "123.456"
// toExponential(): Chuyển số thành dạng số mũ, hữu ích khi hiển thị số rất lớn/nhỏ (khoa học, kỹ thuật)
console.log(num.toExponential(2)); // "1.23e+2"
// toFixed(): Làm tròn số đến số chữ số thập phân chỉ định, thường dùng khi hiển thị tiền tệ, điểm số
console.log(num.toFixed(1));     // "123.5"
// parseInt(): Chuyển chuỗi thành số nguyên, dùng khi nhập liệu từ form/textbox
console.log(parseInt("123.45"));   // 123
// parseFloat(): Chuyển chuỗi thành số thực, dùng khi nhập số thập phân từ chuỗi
console.log(parseFloat("123.45")); // 123.45

Number Properties

Một số thuộc tính của Number:

// Number.MAX_VALUE: Giá trị lớn nhất có thể biểu diễn, dùng để kiểm tra tràn số
console.log(Number.MAX_VALUE);
// Number.MIN_VALUE: Giá trị dương nhỏ nhất, dùng để kiểm tra số gần 0
console.log(Number.MIN_VALUE);
// Number.POSITIVE_INFINITY: Đại diện cho Infinity, dùng khi chia cho 0 hoặc số vượt quá MAX_VALUE
console.log(Number.POSITIVE_INFINITY);
// Number.NEGATIVE_INFINITY: Đại diện cho -Infinity, dùng khi chia cho 0 âm hoặc số nhỏ hơn MIN_VALUE
console.log(Number.NEGATIVE_INFINITY);
// Number.NaN: Đại diện cho giá trị không phải số, dùng để kiểm tra lỗi chuyển đổi kiểu
console.log(Number.NaN);
// Number.isNaN(): Kiểm tra giá trị có phải là NaN không, dùng để xác thực dữ liệu nhập vào
console.log(Number.isNaN(NaN)); // true
// Number.isFinite(): Kiểm tra giá trị có phải là số hữu hạn không, dùng để loại bỏ Infinity/NaN
console.log(Number.isFinite(10)); // true
// Number.isInteger(): Kiểm tra giá trị có phải là số nguyên không, dùng khi cần xác thực số nguyên
console.log(Number.isInteger(10)); // true

Cộng số và chuỗi trong JavaScript

Khi sử dụng toán tử + với số và chuỗi, JavaScript sẽ chuyển số thành chuỗi và thực hiện phép nối chuỗi. Nếu cả hai toán hạng là số, phép cộng số học sẽ được thực hiện.

// Cộng số với số
var a = 10;
var b = 5;
console.log(a + b); // 15

// Cộng chuỗi với chuỗi
var s1 = "Hello ";
var s2 = "world!";
console.log(s1 + s2); // "Hello world!"

// Cộng số với chuỗi
var num = 10;
var str = " apples";
console.log(num + str); // "10 apples"

// Cộng chuỗi với số
console.log("Result: " + 100); // "Result: 100"

Tham khảo: w3schools.com/js/js_numbers.asp